import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
//别名
import path from 'path'
const resolve = (dir: string) => path.join(__dirname, dir)
//SVG
import viteSvgIcons from 'vite-plugin-svg-icons'
//按需加载
import styleImport from 'vite-plugin-style-import'

// https://vitejs.dev/config/
export default defineConfig({
    plugins: [
        vue(),
        viteSvgIcons({
            // 指定文件夹
            iconDirs: [path.resolve(process.cwd(), './src/assets/icons')],
            // 指定 symbolId 格式
            symbolId: 'icon-[dir]-[name]',
        }),

        // styleImport({
        //     libs: [
        //         {
        //             libraryName: 'element-plus',
        //             esModule: true,
        //             ensureStyleFile: true,
        //             resolveStyle: name => {
        //                 name = name.slice(3)
        //                 return `element-plus/packages/theme-chalk/src/${name}.scss`
        //             },
        //             resolveComponent: name => {
        //                 return `element-plus/lib/${name}`
        //             }
        //         }
        //     ]
        // })
    ],
    // 打包静态路劲
    base: './',
    // 配置别名
    resolve: {
        alias: {
            '@': resolve('./src'),
            comps: resolve('./src/components'),
            api: resolve('./src/api'),
            views: resolve('./src/views'),
            utils: resolve('./src/utils'),
            routers: resolve('./src/router'),
            styles: resolve('./src/style'),
            svgIcon: resolve('./src/components/svgIcon')
        }
    },
    build: {
        outDir: 'dist',  //指定输出路径
        // assetsDir: "wap", //指定生成静态资源的存放路径
        // sourcemap: false,
    },
    // server: {
    // 	//服务器主机名
    // 	host: '',
    // 	//端口号
    // 	port: 3088,
    // 	//设为 true 时若端口已被占用则会直接退出，而不是尝试下一个可用端口
    // 	strictPort: false,
    // 	//服务器启动时自动在浏览器中打开应用程序,当此值为字符串时，会被用作 URL 的路径名
    // 	open: false,
    // 	//自定义代理规则
    // 	proxy: {
    // 		// 选项写法
    // 		'/api': {
    // 			target: 'http://jsonplaceholder.typicode.com',
    // 			changeOrigin: true,
    // 			rewrite: path => path.replace(/^\/api/, '')
    // 		}
    // 	}
    // },
})
